package com.wms.pojo;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@Data
@TableName("tb_warehouse")
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Warehouse {
    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 仓库名字
     */
    @TableField("name")
    private String name;

    /**
     * 所在城市ID
     */
    @TableField("city_id")
    private Integer cityId;

    /**
     * 所在城市名称
     */
    @TableField("city_name")
    private String cityName;

    /**
     * 所在省份ID
     */
    @TableField("province_id")
    private Integer provinceId;

    /**
     * 所在省份名字
     */
    @TableField("province_name")
    private String provinceName;

    /**
     * 详细地址
     */
    @TableField("address")
    private String address;

    /**
     * 经纬度
     */
    @TableField("location")
    private String location;

    /**
     * 负责人名字
     */
    @TableField("person_charge_name")
    private String personChargeName;

    /**
     * SaaS标识
     */
    @TableField("saas_id")
    private String saasId;

    // 区的Id
    @TableField("district_id")
    private Integer districtId;
    /**
     * 负责人ID
     */
    @TableField("person_charge_id")
    private Integer personChargeId;

    /**
     * 排序
     */
    @TableField("sort")
    private Integer sort;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 创建人账号
     */
    @TableField("create_by")
    private String createBy;

    /**
     * 修改时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 修改人账号
     */
    @TableField("update_by")
    private String updateBy;

    /**
     *  是否有效  1 有效  2 无效
     */
    private Integer status;
    /**
     * 是否删除  1 未删除  2 已删除
     */
    @TableField("is_del")
    private Integer isDel;
}
